package org.example.design.strategy;

//策略模式
//原本的写法
public class CouponDiscountService {

    /**
     * @param type  优惠券类型
     * @param typeContent   券的价值
     * @param skuPrice  原价
     * @param typeExt   满减要到达的金额
     * @return  真实要付的钱
     */
    public double discountAmount(int type, double typeContent, double skuPrice, double typeExt) {
        // 1. 直减券
        if (1 == type) {
            return skuPrice - typeContent;
        }
        // 2. 满减券
        if (2 == type) {
            if (skuPrice < typeExt) return skuPrice;
            return skuPrice - typeContent;
        }
        // 3. 折扣券
        if (3 == type) {
            return skuPrice * typeContent;
        }
        // 4. n元购
        if (4 == type) {
            return typeContent;
        }
        return 0D;
    }

    public static void main(String[] args) {

    }
}
